fix: Revert "stop using QFile api to delete a single local file"
authorMatthieu Gallien <matthieu.gallien@nextcloud.com>
Thu, 24 Apr 2025 07:30:58 +0000 (09:30 +0200)
committerbackportbot[bot] <backportbot[bot]@users.noreply.github.com>
Thu, 24 Apr 2025 09:18:10 +0000 (09:18 +0000)
This reverts commit 58d28ab3306a5cd36d990678416375386d9a0db9.

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
src/common/filesystembase.cpp

index c6dcb49d1c9d07b1ed1ce3253890bb83a614c11c..441746aae0e59bc54f496ab60d8ed2e222f94df0 100644 (file)
@@ -26,7 +26,6 @@
 #include <QFile>
 #include <QCoreApplication>
 
-#include <filesystem>
 #include <sys/stat.h>
 #include <sys/types.h>
 
@@ -541,34 +540,14 @@ bool FileSystem::remove(const QString &fileName, QString *errorString)
     // allow that.
     setFileReadOnly(fileName, false);
 #endif
-
-    try {
-        if (!std::filesystem::remove(std::filesystem::path{fileName.toStdWString()})) {
-            if (errorString) {
-                *errorString = QObject::tr("File is already deleted");
-            }
-            qCWarning(lcFileSystem()) << "File is already deleted" << fileName;
-            return false;
-        }
-        qCInfo(lcFileSystem()) << "delete" << fileName;
-    }
-    catch (const std::filesystem::filesystem_error &e)
-    {
-        if (errorString) {
-            *errorString = QString::fromLatin1(e.what());
-        }
-        qCWarning(lcFileSystem()) << e.what() << fileName;
-        return false;
-    }
-    catch (...)
-    {
+    QFile f(fileName);
+    if (!f.remove()) {
         if (errorString) {
-            *errorString = QObject::tr("Error deleting the file");
+            *errorString = f.errorString();
         }
-        qCWarning(lcFileSystem()) << "Error deleting the file" << fileName;
+        qCWarning(lcFileSystem()) << f.errorString() << fileName;
         return false;
     }
-
     return true;
 }